MC_MoveAdditive
功能块 | MC_MoveAdditive | ||
---|---|---|---|
下达一个目标为特定附加位置之运动指令。呼叫此命令时,给定之附加距离将添加于离散运动中最后一个指令位置。指令位置之定义请参考 MC_Source 类型。 | |||
VAR_IN_OUT | |||
B | AxisIn | AXIS_REF | 轴的参考。 |
VAR_INPUT | |||
B | Execute | BOOL | 在上升边缘开始运动。 |
E | ContinuousUpdate | BOOL | 若为 TRUE,则当功能块 (FB) 正在执行且参数值正被更新时,FB 将使用新值;若为 FALSE,则 FB 不会使用新值。 |
B | Distance | LREAL | 运动的相对距离(单位)。 |
B | Velocity | LREAL | 最大速度值(非必要到达)[单位/秒] |
E | Acceleration | LREAL | 加速度值,单位由 MC_ProfileType 决定(马达的增加能源) [单位/每秒2] 或 [每秒]。 |
E | Deceleration | LREAL | 减速度值,单位由 MC_ProfileType 决定(马达的减少能源) [单位/每秒2] 或 [每秒]。 |
E | Jerk | LREAL | 加加速度值。单位由 MC_ProfileType 决定,为 [单位/每秒3] 或 [每秒]。 |
E | BufferMode | MC_BufferMode | 定义如何融合两功能块的速度。 |
VAR_OUTPUT | |||
B | Done | BOOL | 已达到命令距离。 |
E | Busy | BOOL | 功能块尚未完成且预期将有新的输出值。 |
E | Active | BOOL | 功能块正在控制轴。 |
E | CommandAborted | BOOL | 命令被另一个命令中止。 |
B | Error | BOOL | 功能块中出现错误的讯号。 |
E | ErrorID | MC_Error | 错误识别。 |
MC_MoveAdditive | ||||||
---|---|---|---|---|---|---|
AXIS_REF | AxisIn | Axis | AXIS_REF | |||
BOOL | Execute | Done | BOOL | |||
BOOL | ContinuousUpdate | Busy | BOOL | |||
LREAL | Distance | Active | BOOL | |||
LREAL | Velocity | CommandAborted | BOOL | |||
LREAL | Acceleration | Error | BOOL | |||
LREAL | Deceleration | ErrorID | MC_Error | |||
LREAL | Jerk | |||||
MC_BufferMode | BufferMode | |||||
下图两个范例为轴在离散运动状态时的功能块组合:
- 时序图的左侧部分说明了在第一个功能块 (FB) 之后呼叫第二个功能块 (FB) 的情况,若 First 到达命令位置 6000(且速度为 0),则输出 Done 会导致 Second FB 移动位置 4000,将轴的结果位置移到 10000。
- 时序图的右侧部分说明了第二个功能块 (FB) 在第一个 FB 仍在执行时开始执行的情况,在这种情况下,在 First FB 的恒定速度期间,第一个运动即被 Test 讯号中断和中止;Second FB 从前一个指令位置 6000 增加距离 4000 并将轴移动至位置 10000。